package com.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Locale;

/**
 * @author linxinghui
 */
public class DateUtil
{
    
    /**
     * 字符串格式必须为:yyyy-MM-dd
     * @param String
     */
    public static java.util.Date strToDate(String strDate)
    {
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    	java.util.Date date = null;
		try
		{
			date = sdf.parse(strDate);
		} catch (ParseException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	return date;
    }
    
    /**
     * 字符串格式必须为:yyyy-MM-dd HH:mm:ss
	 * @param String
     */
    public static java.util.Date strToTime(String strTime)
    {
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	java.util.Date date = null;
		try
		{
			date = sdf.parse(strTime);
		} catch (ParseException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	return date;
    }

    /**
     * 将日期格式化成"yyyy年M月d日"的形式，如将2005-01-01转换为2005年1月1日
     * @param Date
     * @return String
     */
    public static String getChineseDate(java.util.Date date)
    {
      DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINESE);
      String strDate = df.format(date);
      return strDate;
    }

    /**
     * 将日期格式化成"yyyy-MM-dd HH:mm:ss"的形式，如"2005-01-01 12:53:48"
     * @param Date
     * @return String
     */
    public static String getTimeFormat(java.util.Date date)
    {
      DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      String strDate = df.format(date);
      return strDate;
    }

    /**
     * 将日期格式化成"yyyy-MM-dd HH:mm"的形式，如"2005-01-01 12:53"
     * @param Date
     * @return String
     */
    public static String getTimeFormat2(java.util.Date date)
    {
      DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
      String strDate = df.format(date);
      return strDate;
    }

    /**
     * 将日期格式化成"yyyy-MM-dd"的形式，如"2005-01-01"
     * @param Date
     * @return String
     */
    public static String getDateFormat(java.util.Date date)
    {
      DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
      String strDate = df.format(date);
      return strDate;
    }

    public static void main(String[] args)
    {
        java.util.Date date = strToDate("2005-07-07");
        String str = getDateFormat(date);
        date = strToTime("2005-07-07 10:20:20");
        String strr = getTimeFormat(date);
        System.out.println(str+" "+strr);
        String str1 = getChineseDate(date);
        System.out.println(str1);
        String str2 = getTimeFormat2(date);
        System.out.println(str2);
        String str3 = getDateFormat(date);
        System.out.println(str3);
    }

}